using System;

namespace Nyanimals
{
	public abstract class CObjectBaseState
	{
		protected CObjectStateMachine owningMachine;
		protected string stateName;
		
		public string StateName
		{
			get { return stateName;}
		}
		
		public CObjectBaseState(string szName)
		{
			owningMachine = null;
			stateName = szName;
		}
		
		public CObjectStateMachine StateMachine
		{
			get { return owningMachine;}
			set { owningMachine = value;}
		}
		
		public abstract void Enter();
		public abstract void Exit();
		public abstract void Input();
		public abstract void Update(float deltaTime);
	}
}

